package jogodecartas.core;

import java.util.ArrayList;
import java.util.Collections;


public class Baralho {

    protected ArrayList baralho;
//    private static Baralho instance;

    public Baralho() {
        baralho = new ArrayList();
        // enche o baralho
        for (int naipe = 0; naipe <= 3; naipe++) {
            for (int valor = 1; valor <= 13; valor++) {
                baralho.add(new Carta(valor, naipe, false));
            }
        }
    }

//    public static Baralho getInstance(){
//        if (instance==null){
//            instance = new Baralho();
//            return instance;
//        }
//        else
//            return instance;
//    }

    public int numeroDeCartas() {
        return baralho.size();
    }

    public void baralhar() {
        Collections.shuffle(baralho);
    }

    public Carta pegaCarta() {
        if (numeroDeCartas() == 0) {
            return null;
        }
        return (Carta) baralho.remove(numeroDeCartas() - 1);
    }
    public Carta cartaDoTopo() {
        if (numeroDeCartas() == 0) {
            return null;
        }
        return (Carta) baralho.get(numeroDeCartas() - 1);
    }
}
